Many complex microcircuits, especially those employing internal microcontrollers, have a need for non-volatile memory in which to store critical data. Typically this data consists of operating instructions for a microcontroller, although it may also consist of other critical data such as keys or configuration data. The development of this data is frequently a lengthy task, with the data not fully debugged until after a microcircuit is developed. Once this data is fully developed, it is often desirable to make the data permanent. There are several reasons for this. A first reason is that the overall security of the system may be compromised if the data can be altered. Another reason relates to reduction of manufacturing cost. The time required to program each microcircuit can be eliminated from the manufacturing cycle if programming resides in pre-programmed read only memory devices. A third reason relates to reliability of the data. Many non-volatile memory arrays are susceptible to environmental effects, such as temperature or radiation, which could disturb the data. An object of the invention is to provide a semiconductor memory array having mostly non-volatile memory cells but with permanently written data in portions of the memory array.